/* @license GPL-2.0-or-later https://www.drupal.org/licensing/faq */ (function(Drupal){'use strict';function init(context){var elements=context.querySelectorAll('[data-mail-to]');var clickable=context.querySelectorAll('[data-mail-click-link]');if(!elements)return;function rot13(string){return string.replace(/[a-zA-Z]/g,function(c){return String.fromCharCode((c<='Z'?90:122)>=(c=c.charCodeAt(0)+13)?c:c-26);});}function normalizeEncryptEmail(string){string=rot13(string);string=string.replace(/\/dot\//g,'.');string=string.replace(/\/at\//g,'@');var encodedString=Drupal.checkPlain(string);encodedString=encodedString.replace(/&/g,'&');return encodedString;}function setMailAddress(element){var mailTo=normalizeEncryptEmail(element.getAttribute('data-mail-to'));var replaceInner=element.getAttribute('data-replace-inner');element.removeAttribute('data-mail-to');element.removeAttribute('data-replace-inner');if(element.tagName==='A')element.setAttribute('href','mailto:'+mailTo);if(replaceInner==='true'||replaceInner===''){element.innerHTML=mailTo;return;}if(replaceInner)element.innerHTML=element.innerHTML.replace(replaceInner,mailTo);}if(clickable.length){Array.prototype.slice.call(elements).forEach(function(element){element.addEventListener('click',function(event){if(element.className.split(/\s+/).indexOf('link-processed')===-1){event.preventDefault();setMailAddress(element);element.classList.add('link-processed');}});});return;}NodeList.prototype.forEach=Array.prototype.forEach;elements.forEach(function(element){setMailAddress(element);});}Drupal.behaviors.obfuscateEmailField={attach:init};})(Drupal);; (function($,Drupal){Drupal.webform=Drupal.webform||{};Drupal.webform.scrollTopOffset=Drupal.webform.scrollTopOffset||($('#toolbar-administration').length?140:10);Drupal.webformScrollTop=function(element,target){if(!target)return;var $element=$(element);var offset=$element.offset();var $scrollTarget=$element;while($scrollTarget.scrollTop()===0&&$($scrollTarget).parent())$scrollTarget=$scrollTarget.parent();if(target==='page'&&$scrollTarget.length&&$scrollTarget[0].tagName==='HTML'){var rect=$($scrollTarget)[0].getBoundingClientRect();if(!(rect.top>=0&&rect.left>=0&&rect.bottom<=$(window).height()&&rect.right<=$(window).width()))$scrollTarget.animate({scrollTop:0},500);}else{if(offset.top-Drupal.webform.scrollTopOffset<$scrollTarget.scrollTop())$scrollTarget.animate({scrollTop:(offset.top-Drupal.webform.scrollTopOffset)},500);}};Drupal.webformScrolledIntoView=function($element){if(!Drupal.webformIsScrolledIntoView($element))$('html, body').animate({scrollTop:$element.offset().top-Drupal.webform.scrollTopOffset},500);};Drupal.webformIsScrolledIntoView=function(element){var docViewTop=$(window).scrollTop();var docViewBottom=docViewTop+$(window).height();var elemTop=$(element).offset().top;var elemBottom=elemTop+$(element).height();return ((elemBottom<=docViewBottom)&&(elemTop>=docViewTop));};})(jQuery,Drupal);; (function($,Drupal,drupalSettings,once,tabbable){Drupal.webform=Drupal.webform||{};Drupal.webform.ajax=Drupal.webform.ajax||{};Drupal.webform.ajax.scrollTopOffset=Drupal.webform.ajax.scrollTopOffset||($('#toolbar-administration').length?140:10);Drupal.webform.scrollTopOffset=Drupal.webform.ajax.scrollTopOffset;Drupal.behaviors.webformAjaxLink={attach(context){$(once('webform-ajax-link','.webform-ajax-link',context)).each(function(){var element_settings={};element_settings.progress={type:'fullscreen'};var href=$(this).attr('href');if(href){element_settings.url=href;element_settings.event='click';}element_settings.dialogType=$(this).data('dialog-type');element_settings.dialogRenderer=$(this).data('dialog-renderer');element_settings.dialog=$(this).data('dialog-options');element_settings.base=$(this).attr('id');element_settings.element=this;Drupal.ajax(element_settings);if(element_settings.dialogRenderer==='off_canvas')$(this).on('click',function(){$('.ui-dialog.webform-ui-dialog:visible').find('.ui-dialog-content').dialog('close');});});}};Drupal.behaviors.webformAjaxHash={attach(context){$(once('webform-ajax-hash','[data-hash]',context)).each(function(){var hash=$(this).data('hash');if(hash)$(this).on('click',function(){location.hash=$(this).data('hash');});});}};Drupal.behaviors.webformConfirmationBackAjax={attach(context){$(once('webform-confirmation-back-ajax','.js-webform-confirmation-back-link-ajax',context)).on('click',function(event){var $form=$(this).parents('form');$form.find('.js-webform-confirmation-back-submit-ajax').trigger('click');var $progress_indicator=$form.find('.ajax-progress');if($progress_indicator)$(this).after($progress_indicator);event.preventDefault();event.stopPropagation();});}};var updateKey;var addElement;Drupal.AjaxCommands.prototype.webformInsert=function(ajax,response,status){this.insert(ajax,response,status);if(addElement){var addSelector=(addElement==='_root_')?'#webform-ui-add-element':'[data-drupal-selector="edit-webform-ui-elements-'+addElement+'-add"]';$(addSelector).trigger('click');}if(!addElement&&updateKey){var $element=$('tr[data-webform-key="'+updateKey+'"]');$element.addClass('color-success');setTimeout(function(){$element.removeClass('color-success');},3000);const tabbableElements=tabbable.tabbable($element.get(0));const filteredElements=tabbableElements.filter((element)=>!element.classList.contains('tabledrag-handle'));if(filteredElements.length)filteredElements[0].focus();Drupal.webformScrolledIntoView($element);}else $('#main-content').trigger('focus');var $wrapper=$(response.selector);if($wrapper.parents('.ui-dialog').length===0){var $messages=$wrapper.find('.messages');if(addElement)$messages.remove();else{if($messages.length){var $floatingMessage=$('#webform-ajax-messages');if($floatingMessage.length===0){$floatingMessage=$('
');$('body').append($floatingMessage);}if($floatingMessage.is(':animated'))$floatingMessage.stop(true,true);$floatingMessage.html($messages).show().delay(3000).fadeOut(1000);}}}updateKey=null;addElement=null;};Drupal.AjaxCommands.prototype.webformScrollTop=function(ajax,response){Drupal.webformScrollTop(response.selector,response.target);var $form=$(response.selector+'-content').find('form');if(!$form.hasClass('js-webform-autofocus'))$(response.selector+'-content').trigger('focus');};Drupal.AjaxCommands.prototype.webformRefresh=function(ajax,response,status){var a=document.createElement('a');a.href=response.url;var forceReload=(response.url.match(/\?reload=([^&]+)($|&)/))?RegExp.$1:null;if(forceReload){response.url=response.url.replace(/\?reload=([^&]+)($|&)/,'');this.redirect(ajax,response,status);return;}if(a.pathname===window.location.pathname&&$('.webform-ajax-refresh').length){updateKey=(response.url.match(/[?|&]update=([^&]+)($|&)/))?RegExp.$1:null;addElement=(response.url.match(/[?|&]add_element=([^&]+)($|&)/))?RegExp.$1:null;$('.webform-ajax-refresh').trigger('click');$('#drupal-off-canvas').hide();}else{if(Drupal.behaviors.webformUnsaved)Drupal.behaviors.webformUnsaved.clear();if(drupalSettings.webform_share&&drupalSettings.webform_share.page)window.top.location=response.url;else this.redirect(ajax,response,status);}};Drupal.AjaxCommands.prototype.webformCloseDialog=function(ajax,response,status){if($('#drupal-off-canvas-wrapper').length){$('#drupal-off-canvas-wrapper').remove();$('body').removeClass('js-tray-open');$(document).off('.off-canvas');$(window).off('.off-canvas');var edge=document.documentElement.dir==='rtl'?'left':'right';var $mainCanvasWrapper=$('[data-off-canvas-main-canvas]');$mainCanvasWrapper.css('padding-'+edge,0);$(window).trigger('resize.tabs');}if($(response.selector).hasClass('ui-dialog-content'))this.closeDialog(ajax,response,status);};Drupal.AjaxCommands.prototype.webformConfirmReload=function(ajax,response){if(window.confirm(response.message))window.location.reload(true);};})(jQuery,Drupal,drupalSettings,once,tabbable);; (function($,Drupal,once){Drupal.behaviors.webformCheckboxesAllorNone={attach(context){$(once('webform-checkboxes-all-or-none','[data-options-all], [data-options-none]',context)).each(function(){var $element=$(this);var options_all_value=$element.data('options-all');var options_none_value=$element.data('options-none');var $checkboxes=$element.find('input[type="checkbox"]');var $options=$checkboxes.not('[value="'+options_all_value+'"]').not('[value="'+options_none_value+'"]');var $options_all=$element.find(':checkbox[value="'+options_all_value+'"]');var $options_none=$element.find(':checkbox[value="'+options_none_value+'"]');if($options_all.length){$options_all.on('click',toggleCheckAllEventHandler);if($options_all.prop('checked'))toggleCheckAllEventHandler();}if($options_none.length){$options_none.on('click',toggleCheckNoneEventHandler);toggleCheckNoneEventHandler();}$options.on('click',toggleCheckboxesEventHandler);toggleCheckboxesEventHandler();function toggleCheckAllEventHandler(){if($options_all.prop('checked')){if($options_none.is(':checked'))$options_none.prop('checked',false).trigger('change',['webform.states']);$options.not(':checked').prop('checked',true).trigger('change',['webform.states']);}else $options.filter(':checked').prop('checked',false).trigger('change',['webform.states']);}function toggleCheckNoneEventHandler(){if($options_none.prop('checked'))$checkboxes.not('[value="'+options_none_value+'"]').filter(':checked').prop('checked',false).trigger('change',['webform.states']);}function toggleCheckboxesEventHandler(){var isAllChecked=($options.filter(':checked').length===$options.length);if($options_all.length&&$options_all.prop('checked')!==isAllChecked)$options_all.prop('checked',isAllChecked).trigger('change',['webform.states']);var isOneChecked=$options.is(':checked');if($options_none.length&&isOneChecked)$options_none.prop('checked',false).trigger('change',['webform.states']);}});}};})(jQuery,Drupal,once);; (function($,Drupal,once){var hasLocalStorage=(function(){try{localStorage.setItem('webform','webform');localStorage.removeItem('webform');return true;}catch(e){return false;}}());Drupal.behaviors.webformDetailsSave={attach(context){if(!hasLocalStorage)return;$(once('webform-details-summary-save','details > summary',context)).on('click',function(){var $details=$(this).parent();if($details[0].hasAttribute('data-webform-details-nosave'))return;var name=Drupal.webformDetailsSaveGetName($details);if(!name)return;var open=($details.attr('open')!=='open')?'1':'0';localStorage.setItem(name,open);});$(once('webform-details-save','details',context)).each(function(){var $details=$(this);var name=Drupal.webformDetailsSaveGetName($details);if(!name)return;var open=localStorage.getItem(name);if(open===null)return;if(open==='1')$details.attr('open','open');else $details.removeAttr('open');});}};Drupal.webformDetailsSaveGetName=function($details){if(!hasLocalStorage)return '';if($details.hasClass('vertical-tabs__pane'))return '';var webformId=$details.attr('data-webform-element-id');if(webformId)return 'Drupal.webform.'+webformId.replace('--','.');var detailsId=$details.attr('id');if(!detailsId)return '';var $form=$details.parents('form');if(!$form.length||!$form.attr('id'))return '';var formId=$form.attr('id');if(!formId)return '';formId=formId.replace(/--.+?$/,'').replace(/-/g,'_');detailsId=detailsId.replace(/--.+?$/,'').replace(/-/g,'_');return 'Drupal.webform.'+formId+'.'+detailsId;};})(jQuery,Drupal,once);; (function($,Drupal,once){Drupal.webform=Drupal.webform||{};Drupal.webform.detailsToggle=Drupal.webform.detailsToggle||{};Drupal.webform.detailsToggle.options=Drupal.webform.detailsToggle.options||{};Drupal.behaviors.webformDetailsToggle={attach(context){$(once('webform-details-toggle','.js-webform-details-toggle',context)).each(function(){var $form=$(this);var $tabs=$form.find('.webform-tabs');var selector=($tabs.length)?'.webform-tab':'.js-webform-details-toggle, .webform-elements';var $details=$form.find('details').filter(function(){var $parents=$(this).parentsUntil(selector);return ($parents.find('details').length===0);});if($details.length<2)return;var options=$.extend({button:''},Drupal.webform.detailsToggle.options);var $toggle=$(options.button).attr('title',Drupal.t('Toggle details widget state.')).on('click',function(e){var $details=$form.find('details:not(.vertical-tabs__pane)');var $summary=$details.find('summary');var open;if(Drupal.webform.detailsToggle.isFormDetailsOpen($form)){$details.removeAttr('open');$summary.attr('aria-expanded','false');open=0;}else{$details.attr('open','open');$summary.attr('aria-expanded','true');open=1;}Drupal.webform.detailsToggle.setDetailsToggleLabel($form);if(Drupal.webformDetailsSaveGetName)$details.each(function(){var name=Drupal.webformDetailsSaveGetName($(this));if(name)localStorage.setItem(name,open);});}).wrap('').parent();if($tabs.length)$tabs.find('.item-list:first-child').eq(0).before($toggle);else $details.eq(0).before($toggle);Drupal.webform.detailsToggle.setDetailsToggleLabel($form);});}};Drupal.webform.detailsToggle.isFormDetailsOpen=function($form){return ($form.find('details[open]').length===$form.find('details').length);};Drupal.webform.detailsToggle.setDetailsToggleLabel=function($form){var isOpen=Drupal.webform.detailsToggle.isFormDetailsOpen($form);var label=(isOpen)?Drupal.t('Collapse all'):Drupal.t('Expand all');$form.find('.webform-details-toggle-state').html(label);var text=(isOpen)?Drupal.t('All details have been expanded.'):Drupal.t('All details have been collapsed.');Drupal.announce(text);};})(jQuery,Drupal,once);; (function($,Drupal,once){var hasLocalStorage=(function(){try{localStorage.setItem('webform','webform');localStorage.removeItem('webform');return true;}catch(e){return false;}}());var hasSessionStorage=(function(){try{sessionStorage.setItem('webform','webform');sessionStorage.removeItem('webform');return true;}catch(e){return false;}}());Drupal.behaviors.webformMessageClose={attach(context){$(once('webform-message--close','.js-webform-message--close',context)).each(function(){var $element=$(this);var id=$element.attr('data-message-id');var storage=$element.attr('data-message-storage');var effect=$element.attr('data-message-close-effect')||'hide';switch(effect){case 'slide':effect='slideUp';break;case 'fade':effect='fadeOut';break;}if(isClosed($element,storage,id))return;if($element.attr('style')!=='display: none;'&&!$element.hasClass('js-webform-states-hidden'))$element.show();$element.find('.js-webform-message__link').on('click',function(event){$element[effect]();setClosed($element,storage,id);$element.trigger('close');event.preventDefault();});});}};function isClosed($element,storage,id){if(!id||!storage)return false;switch(storage){case 'local':if(hasLocalStorage)return localStorage.getItem('Drupal.webform.message.'+id)||false;return false;case 'session':if(hasSessionStorage)return sessionStorage.getItem('Drupal.webform.message.'+id)||false;return false;default:return false;}}function setClosed($element,storage,id){if(!id||!storage)return;switch(storage){case 'local':if(hasLocalStorage)localStorage.setItem('Drupal.webform.message.'+id,true);break;case 'session':if(hasSessionStorage)sessionStorage.setItem('Drupal.webform.message.'+id,true);break;case 'user':case 'state':case 'custom':$.get($element.find('.js-webform-message__link').attr('href'));return true;}}})(jQuery,Drupal,once);; (function($,Drupal){Drupal.behaviors.webformOptionsButtons={attach(context){$(context).find('label.webform-options-display-buttons-label > input[type="checkbox"], label.webform-options-display-buttons-label > input[type="radio"]').each(function(){var $input=$(this);var $label=$input.parent();$input.detach().insertBefore($label);});}};})(jQuery,Drupal);; (function($,Drupal,once){Drupal.behaviors.webformSelectOptionsDisabled={attach(context){$(once('webform-select-options-disabled','select[data-webform-select-options-disabled]',context)).each(function(){var $select=$(this);var disabled=$select.attr('data-webform-select-options-disabled').split(/\s*,\s*/);$select.find('option').filter(function isDisabled(){return ($.inArray(this.value,disabled)!==-1);}).attr('disabled','disabled');});}};})(jQuery,Drupal,once);; (function($,Drupal,debounce){$.fn.drupalGetSummary=function(){const callback=this.data('summaryCallback');if(!this[0]||!callback)return '';const result=callback(this[0]);return result?result.trim():'';};$.fn.drupalSetSummary=function(callback){const self=this;if(typeof callback!=='function'){const val=callback;callback=function(){return val;};}return (this.data('summaryCallback',callback).off('formUpdated.summary').on('formUpdated.summary',()=>{self.trigger('summaryUpdated');}).trigger('summaryUpdated'));};Drupal.behaviors.formSingleSubmit={attach(){function onFormSubmit(e){const $form=$(e.currentTarget);const formValues=new URLSearchParams(new FormData(e.target)).toString();const previousValues=$form.attr('data-drupal-form-submit-last');if(previousValues===formValues)e.preventDefault();else $form.attr('data-drupal-form-submit-last',formValues);}$(once('form-single-submit','body')).on('submit.singleSubmit','form:not([method~="GET"])',onFormSubmit);}};function triggerFormUpdated(element){$(element).trigger('formUpdated');}function fieldsList(form){return [].map.call(form.querySelectorAll('[name][id]'),(el)=>el.id);}Drupal.behaviors.formUpdated={attach(context){const $context=$(context);const contextIsForm=context.tagName==='FORM';const $forms=$(once('form-updated',contextIsForm?$context:$context.find('form')));let formFields;if($forms.length)$.makeArray($forms).forEach((form)=>{const events='change.formUpdated input.formUpdated ';const eventHandler=debounce((event)=>{triggerFormUpdated(event.target);},300);formFields=fieldsList(form).join(',');form.setAttribute('data-drupal-form-fields',formFields);$(form).on(events,eventHandler);});if(contextIsForm){formFields=fieldsList(context).join(',');const currentFields=$(context).attr('data-drupal-form-fields');if(formFields!==currentFields)triggerFormUpdated(context);}},detach(context,settings,trigger){const $context=$(context);const contextIsForm=context.tagName==='FORM';if(trigger==='unload')once.remove('form-updated',contextIsForm?$context:$context.find('form')).forEach((form)=>{form.removeAttribute('data-drupal-form-fields');$(form).off('.formUpdated');});}};Drupal.behaviors.fillUserInfoFromBrowser={attach(context,settings){const userInfo=['name','mail','homepage'];const $forms=$(once('user-info-from-browser','[data-user-info-from-browser]'));if($forms.length)userInfo.forEach((info)=>{const $element=$forms.find(`[name=${info}]`);const browserData=localStorage.getItem(`Drupal.visitor.${info}`);if(!$element.length)return;const emptyValue=$element[0].value==='';const defaultValue=$element.attr('data-drupal-default-value')===$element[0].value;if(browserData&&(emptyValue||defaultValue))$element.each(function(index,item){item.value=browserData;});});$forms.on('submit',()=>{userInfo.forEach((info)=>{const $element=$forms.find(`[name=${info}]`);if($element.length)localStorage.setItem(`Drupal.visitor.${info}`,$element[0].value);});});}};const handleFragmentLinkClickOrHashChange=(e)=>{let url;if(e.type==='click')url=e.currentTarget.location?e.currentTarget.location:e.currentTarget;else url=window.location;const hash=url.hash.substring(1);if(hash){const $target=$(`#${hash}`);$('body').trigger('formFragmentLinkClickOrHashChange',[$target]);setTimeout(()=>$target.trigger('focus'),300);}};const debouncedHandleFragmentLinkClickOrHashChange=debounce(handleFragmentLinkClickOrHashChange,300,true);$(window).on('hashchange.form-fragment',debouncedHandleFragmentLinkClickOrHashChange);$(document).on('click.form-fragment','a[href*="#"]',debouncedHandleFragmentLinkClickOrHashChange);})(jQuery,Drupal,Drupal.debounce);; (function($,Drupal){var isChrome=(/chrom(e|ium)/.test(window.navigator.userAgent.toLowerCase()));if(isChrome){var backButton=false;if(window.performance){var navEntries=window.performance.getEntriesByType('navigation');if(navEntries.length>0&&navEntries[0].type==='back_forward')backButton=true;else{if(window.performance.navigation&&window.performance.navigation.type===window.performance.navigation.TYPE_BACK_FORWARD)backButton=true;}}if(backButton){var attachBehaviors=Drupal.attachBehaviors;Drupal.attachBehaviors=function(context,settings){setTimeout(function(){attachBehaviors(context,settings);},300);};}}})(jQuery,Drupal);; (function($,Drupal){const states={postponed:[]};Drupal.states=states;function invert(a,invertState){return invertState&&typeof a!=='undefined'?!a:a;}function compare(a,b){if(a===b)return typeof a==='undefined'?a:true;return typeof a==='undefined'||typeof b==='undefined';}function ternary(a,b){if(typeof a==='undefined')return b;if(typeof b==='undefined')return a;return a&&b;}Drupal.behaviors.states={attach(context,settings){const elements=once('states','[data-drupal-states]',context);const il=elements.length;for(let i=0;i